
const fs = require('node:fs')
const fsPromise = require('node:fs/promises')
/**
 * 1. 写入文件
 * 2. 追加写入文件 两种方式
 * 3. 创建可写流
 * 4. 软连接 硬链接 pnpm底层原理
 *
 */

// 写入文件  默认是替换 原始内容
// fs.writeFileSync('./index-write.txt', 'javascript,ciosdhpv', {
//     flag: 'a'  // append  开启追加
// })

// fs.appendFileSync('./index-write.txt', '\n这是appendFileSync追加进来的内容')

// 创建可写流
// 大量数据分批插入
let verse = [
    '花谢花飞花满天，红消香断有谁怜？',

    '游丝软系飘春榭，落絮轻沾扑绣帘。',

    '闺中女儿惜春暮，愁绪满怀无释处。',

    '手把花锄出绣帘，忍踏落花来复去。',

    '柳丝榆荚自芳菲，不管桃飘与李飞；',

    '桃李明年能再发，明年闺中知有谁？',

    '三月香巢已垒成，梁间燕子太无情！',

    '明年花发虽可啄，却不道人去梁空巢也倾。',

    '一年三百六十日，风刀霜剑严相逼；',

    '鲜妍明媚能几时，一朝漂泊难寻觅。',

    '花开易见落难寻，阶前闷杀葬花人，',

    '独把花锄泪暗洒，洒上空枝见血痕。',

    '杜鹃无语正黄昏，荷锄归去掩重门；',

    '青灯照壁人初睡，冷雨敲窗被未温。',

    '怪奴底事倍伤神？半为怜春半恼春。',

    '怜春忽至恼忽去，至又无言去未闻。',

    '昨宵庭外悲歌发，知是花魂与鸟魂？',

    '花魂鸟魂总难留，鸟自无言花自羞；',

    '愿奴协下生双翼，随花飞到天尽头。',

    '天尽头，何处有香丘？',

    '未若锦囊收艳骨，一抔净土掩风流。',

    '质本洁来还洁去，强于污淖陷渠沟。',

    '尔今死去侬收葬，未卜侬身何日丧？',

    '侬今葬花人笑痴，他年葬侬知是谁？',

    '试看春残花渐落，正是红颜老死时；',

    '一朝春尽红颜老，花落人亡两不知！'

]
// 创建可写流对象
// const writeStream = fs.createWriteStream('./葬花吟.txt')
// verse.forEach(item => {
//     // 调用写入方法
//     writeStream.write(item + '\n')
// })
// writeStream.end()
// writeStream.on('finish', () => {
//     console.log('写入文件完毕！')
// })

// 软连接 硬链接
//            原始地址        硬链接之后地址
// 硬链接：两个文件公用一个地址 修改葬花吟2.txt中内容 葬花吟.txt中内容也会改变 源文件删除 硬链接文件不受影响
// fs.linkSync('./葬花吟.txt', './葬花吟2.txt')
// 软连接：类似 window 快捷方式  需要管理员权限
fs.symlinkSync('./葬花吟.txt', './葬花吟3.txt')
